There are many types of AutoID tags in use today including bar codes, magnetic stripe cards, smartcards, contactless smart cards, RFID, sensor nodes, and others. Today, some applications are specific to a particular technology (usually a particular manufacturer). If a device in a particular technology includes unique features, the middleware understands the unique features because of the single application written for the device. The application can use the unique features because the application, the middleware and the device all correspond to an identical model of the unique features.
Other applications, corresponding to most systems is use today, are generic for many kinds of AutoID tags, providing many device types and applications, but communication of data in these applications is reduced to a lowest common denominator, preserving only an identification number of a given AutoID tag. That is, all capabilities of respective devices in these systems are abstracted or extracted away, with only the identification (ID) number or string being communicated from a device to an application. Generic applications cannot exercise other features of AutoID tags such as writable memory, security handshaking, attached sensors or other devices, etc.
What is needed is the ability to provide a given application a capability of using many different forms of AutoID tags interchangeably. What is needed is an IDTag object model in middleware capable of propagating a model of unique features to respective applications. Accordingly, many different applications could advantageously use the features based on a description of the features, or based on a description of specific pieces of hardware that implement the features.